First Race Detection in Parallel Program with Random Synchronization using Trace Information
نویسندگان
چکیده
Detecting data races in multi-threaded programs is a challenging problem in debugging, because the races could reveal nondeterministic program behavior in execution of such programs. Nondeterministic runtime effects of a race are hard to identify and it is difficult to decide whether the reported data races can appear or not in the actual program executions. Previous techniques for detecting races cannot provide method to locate first races in parallel programs with random synchronization including lock/unlock mechnism. This paper presents an algorithm which extracts first races by replaying the program and checking concurrency between sequenced traced data and candidate accesses, which are from a particular execution of parallel programs. We also present the correctness of our algorithm by showing that all the first races are included in the traced accesses which are composed of key accesses.
منابع مشابه
Detecting First Races using Trace and Replay for Parallel Programs with Random Synchronization
Debugging multithreaded or parallel programs is a hard problem due to unintended nondeterministic results of the program, called data races. Previous race detection techniques have limitations of coverage for synchronization constructs in detecting first races for parallel programs with random synchronizations. We present, in this paper, an efficient twopass algorithm to detect the first races ...
متن کاملA Class of Synchronization Operations that Permit Efficient Race Detection
abstract We present an eecient algorithm for \precisely" determining the possible alternate orderings of events from a program trace for a class of synchronization operations. The class includes, post and wait without clear, a restricted form of semaphores, and message passing where the sender names the receiver. The ordering information is precise in that a race detection system could be built...
متن کاملAnalysis of Event Synchronization in Parallel Programs
The increase in the number and complexity of parallel programs has led to a need for better approaches for synchronization error detection and debugging of parallel programs. This paper presents an efficient and precise algorithm for the detection of nondeterminacy (race conditions) in parallel programs. Nondeterminacy exists in a program when the program yields different outputs for different ...
متن کاملEfficient Race Condition Detection for Shared-Memory Programs with Post/Wait Synchronization
Shared-memory parallel programs are often designed to be deterministic, both in their final results and intermediate states. However, debugging such programs requires a mechanism for locating race conditions or violations of the intended determinacy when they occur. This paper answers a previously open question by presenting the first precise, efficient algorithm for dynamically detecting race ...
متن کاملThe Performance of Two Tracing and Replay Algorithms for Message-Passing Parallel Programs
Debugging parallel message-passing programs is complicated by the non-determinism that is inherent in those programs. Cyclical debugging, which is a proven method for sequential programs, often fails when debugging parallel programs because different executions of the same program may exhibit different behaviors due to non-determinism. Some approaches have been studied to remedy this problem. W...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013